

#ifndef UC_GEOFFC3D_H
#define UC_GEOFFC3D_H

#include "zgecurv3d.h"
#pragma pack (push, 8)

class 
GE_DLLEXPIMPORT
UcGeOffsetCurve3d : public UcGeCurve3d
{
public:

    UcGeOffsetCurve3d (const UcGeCurve3d& baseCurve, const UcGeVector3d& planeNormal,
                       double offsetDistance);
    UcGeOffsetCurve3d (const UcGeOffsetCurve3d& offsetCurve);

    const UcGeCurve3d*  curve             () const;
    UcGeVector3d        normal            () const; 
    double              offsetDistance    () const;
	ZSoft::Boolean		paramDirection    () const;
	UcGeMatrix3d		transformation    () const;

    UcGeOffsetCurve3d&  setCurve          (const UcGeCurve3d& baseCurve);
    UcGeOffsetCurve3d&  setNormal         (const UcGeVector3d& planeNormal);
    UcGeOffsetCurve3d&  setOffsetDistance (double offsetDistance);

    UcGeOffsetCurve3d&  operator = (const UcGeOffsetCurve3d& offsetCurve);
};

#pragma pack (pop)
#endif
